function initCommentModel(sequelize, DataTypes) {
  const Comment = sequelize.define('Comment', {
    // 在这里定义模型属性
    commentId: {
      type: DataTypes.INTEGER,
      allowNull: false,
      primaryKey:true,
      autoIncrement: true // 开启自增
    },
    userId: {
      type: DataTypes.INTEGER,
      allowNull: false,
      references: {
        model: 'users', // 关联的表名
        key: 'userId'   // 关联的字段名
      }
    },
      likeCount: {
        type: DataTypes.INTEGER,
        allowNull: false,
        defaultValue: 0,
        comment: '点赞数'
      },
      replyCount: {
        type: DataTypes.INTEGER,
        allowNull: false,
        defaultValue: 0,
        comment: '回复数'
      },
      replyToCommentId: {
        type: DataTypes.INTEGER,
        allowNull: true,
        comment: '回复目标评论ID（为null表示不是回复）'
      },
    sightId: {
      type: DataTypes.INTEGER,
      allowNull: false,
      references: {
        model: 'sights', // 关联的表名
        key: 'sightId'   // 关联的字段名
      }
    },
    content: {
      type: DataTypes.STRING(255),
      allowNull: false,
    }
  }, {
    tableName:'comments',
  });
  
  // 定义关联关系
  Comment.associate = function(models) {
    // 一个评论属于一个用户
    Comment.belongsTo(models.User, {
      foreignKey: 'userId',
      as: 'user'
    });
    // 一个评论属于一个景点
    Comment.belongsTo(models.Sight, {
      foreignKey: 'sightId',
      as: 'sight'
    });
  };
  
  return Comment;
}

module.exports = initCommentModel;